package com.ciwong.epaper.util;

import com.ciwong.epaper.modules.me.util.MeUtil;
import com.ciwong.mobilelib.bean.BuyMsg;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by young on 2016/10/20.
 * 支付相关类
 */
public class PayHelper {
    private  static PayHelper instance;
    private PayHelper(){};

    public static PayHelper getInstance(){
        if(null==instance){
            syn();
        }
        return instance;
    }
    private static synchronized void syn(){
        if(null==instance){
            instance=new PayHelper();
        }
    }

    /**
     * 拼接购买信息
     *
     * @param      //服务售价信息
     *                    typeId类型为14、25 以月为单位，其它类型以年为单位。规定：typeId :25,只能是参数（6、12、36）
     * @param //versionType 1:个人版;2:班级版;3:校园版
     * @return
     *      之前参数
     * //Service service,int versionType, int mounth
     *
     *
     */
    private List<String> concatBuyMsg(BuyMsg bugMsg) {
        //要按照字母的顺序进行排序  不然不成功
        List<String> s = new ArrayList<String>();
//        s.add("C=" + servicePriceInfo.getMonthcount());
        //改需求后固定为十年
        // s.add("C=" + mounth);
        // s.add("C=" + servicePriceInfo.getMonthcount());
        /*s.add("C=" + mounth);
        // s.add("N=" +servicePriceInfo.getName());
        s.add("N=" + service.getName());
        s.add("S=3");
        s.add("T=" + mService.getId());
        s.add("V=" + versionType);*/

        //增加在线报名之后 新的签名方式和参数

        //编码格式，固定为UTF-8。
        s.add("_input_charset="+"utf-8");//1
        //标识客户端
        s.add("app_id="+bugMsg.getApp_id());//2
        //标识客户端来源。参数值内容约定如下：1：WEB; 2:IOS; 3: Android
        s.add("appenv="+bugMsg.getAppenv());//3
        //对一笔交易的具体描述信息。如果是多种商品，请将商品描述字符串累加传给body。
        s.add("body="+bugMsg.getBody());//4

        //服务类型： 月份数量或购买个数；
        /*goods_number  类型为14、25 ,27以月为单位，其它类型以年为单位,
                规定：goods_number  :25,只能是参数（6、12、36）;
        产品类型：为购买的数量。
        其它类型： 默认为1。*/
        s.add("goods_num="+bugMsg.getGoods_num());//5

        //商品主键ID(25:阳光英语报服务)。
        s.add("goods_number="+bugMsg.getGoods_number());//6

          /*具体区分商品类型。
        0:服务 ;1：书籍 ;
        9：其它（报名、投票...）。
        默认为0*/
        s.add("goods_type="+bugMsg.getGoods_type());//7

        //具体区分商品版本1:个人版;2:班级版;3:校园版。
        s.add("goods_version="+bugMsg.getGoods_version());//8

        //支付中心服务器主动通知商户网站里指定的页面http路径。
        s.add("notify_url="+bugMsg.getNotify_url());//9
        //网站唯一订单号
        s.add("out_trade_no="+bugMsg.getOut_trade_no());//10
        //1为书城购买，2为开通服务，3为开通考级，4为视频中心，999为其他分类(默认为999)。
        s.add("pay_source="+bugMsg.getPay_source());//11
        //支付类型。默认值为：1（商品购买）
        s.add("payment_type="+bugMsg.getPayment_type());//12
        //接口名称，固定值
        s.add("service="+"create_direct_pay_by_user");//13
        //商品的标题/交易标题/订单标题/订单关键字等。该参数最长为128个汉字。
        s.add("subject="+bugMsg.getSubject());//14
        //该笔订单的资金总额，单位为RMB-Yuan。取值范围为[0.01，100000000.00]，精确到小数点后两位。
        s.add("total_fee="+ MeUtil.radixPoint(Double.valueOf(bugMsg.getTotal_fee()),2));//15
        return s;
    }





}
